当前位置:   article > 正文

使用python读写xlsx格式中的数据【pandas】_python读取xlsx文件

python读取xlsx文件

1、写入数据

示例代码:

  1. """
  2. pandas将数据写入excel文件
  3. """
  4. import pandas
  5. import string
  6. import random
  7. data_list = []
  8. for i in range(20):
  9. data_dict = {"num": i, "title": "".join(random.sample(string.ascii_letters, 2)),
  10. "value": "".join(random.sample(string.digits, 2))}
  11. print(data_dict)
  12. data_list.append(data_dict)
  13. # 创建DataFrame数据对象
  14. df = pandas.DataFrame(data_list)
  15. df.to_excel('./data/pandas_to_excel.xlsx', sheet_name="Sheet1", index=False, header=True)

运行结果:

2、读取数据

使用pandas库来读取xlsx格式中的数据。

excel中数据:

示例代码:

  1. import pandas as pd
  2. # data = pd.read_excel('./data/体检表.xlsx')
  3. # data = pd.read_excel('./data/体检表.xlsx', sheet_name='Sheet1')
  4. data = pd.read_excel('./data/体检表.xlsx', sheet_name=0)
  5. print(data)
  6. print("*" * 100)
  7. data = pd.read_excel('./data/体检表.xlsx', sheet_name=0, header=0, usecols=[1, 2, 4])
  8. """
  9. sheet_name:返回指定的sheet,如果将sheet_name指定为None,则返回全表,如果需要返回多个表,可以将sheet_name指定为一个列表,例如['sheet1', 'sheet2']
  10. header:指定数据表的表头,默认值为0,即将第一行作为表头。
  11. usecols:读取指定的列,例如想要读取第一列和第二列数据
  12. """
  13. print(data)

运行结果:

3、修改数据

示例代码1:  【修改xlsx中的数据】

  1. import pandas as pd
  2. from pandas import DataFrame
  3. data = pd.read_excel('./data/体检表.xlsx', sheet_name='Sheet1')
  4. print(data)
  5. # 将性别中的男修改为数字0,女修改为数字1
  6. data['性别'][data['性别'] == '男'] = 0
  7. data['性别'][data['性别'] == '女'] = 1
  8. print(data)
  9. """
  10. 注意:这里的data为excel数据的一份拷贝,对data进行修改并不会直接影响到我们原来的excel,必须在修改后保存才能够修改excel。
  11. """
  12. # 下面代码将会新建一个文件,如果存在则会覆盖整个文件,类似于‘w’模式
  13. # DataFrame(data).to_excel('./data/体检表4.xlsx', sheet_name='Sheet1', index=False, header=True)
  14. data.to_excel('./data/体检表2.xlsx', sheet_name='Sheet1', index=False, header=True)

运行结果:

示例代码2:  【对excel文件进行修改,添加某些列】

  1. import pandas as pd
  2. import json
  3. with open('country_info.txt', 'r', encoding='utf-8') as f:
  4. country_data = json.load(f)
  5. """
  6. {
  7. "AO": ["Angola", "安哥拉", "244"],
  8. "AF": ["Afghanistan", "阿富汗", "93"],
  9. "AL": ["Albania", "阿尔巴尼亚", "355"]
  10. }
  11. """
  12. df = pd.read_excel('facebook.xlsx')
  13. df['电话代码'] = 0
  14. # 获取excel表格的行列
  15. row, col = df.shape
  16. print(row, col)
  17. for i in range(row):
  18. tmp = df.iloc[i]
  19. print(i, tmp['地区代码'], tmp['whatsapp'])
  20. if pd.isnull(tmp['地区代码']):
  21. break
  22. tmp['城市'] = country_data[tmp['地区代码']][1]
  23. tmp['电话代码'] = country_data[tmp['地区代码']][2]
  24. phone = str(tmp['whatsapp']).replace('+', '').replace('’', '').replace('‘', '').replace("'", "")
  25. if phone[:len(tmp['电话代码'])] != tmp['电话代码']:
  26. phone = "+" + str(tmp['电话代码']) + str(phone)
  27. else:
  28. phone = "+" + str(phone)
  29. df.iloc[i, 2] = phone
  30. df.iloc[i, 6] = tmp['城市']
  31. df.iloc[i, 8] = tmp['电话代码']
  32. df.to_excel('facebook_new.xlsx', sheet_name='Sheet1', index=False, header=True)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/817041
推荐阅读
相关标签
  

闽ICP备14008679号