【发布时间】:2018-02-20 17:18:31
【问题描述】:
我在一个名为 data 的文件夹中有 13 个 csv 文件,我想按数字顺序 (1.csv,2.csv ...13.csv) 将该 csv 文件导出到一个名为 ( 1,2,3,4,5...13)。我尝试过这样的事情:
from pandas.io.excel import ExcelWriter
import pandas
ordered_files = ['1.csv', '2.csv','3.csv','4.csv', '5.csv','6.csv','7.csv', '8.csv','9.csv','10.csv', '11.csv','12.csv','13.csv']
with ExcelWriter('my_excel.xlsx') as ew:
for csv_file in ordered_files:
pandas.read_csv(csv_file).to_excel(
ew, index = False, sheet_name=csv_file, encoding='utf-8')
我有两个问题:
-
正如您在我的列表中看到的,我无法直接从我的文件夹数据中导入文件,如果我会尝试的话:
ordered_files = ['data/1.csv'] 找不到有效的 csv。
如果我使用该列表方法,例如,我的工作表将命名为 3.csv 而不仅仅是 3。
一个附带问题,来自 csv 我看到一些列应该是 int 数字,格式为前面带有 ' 的字符串。
非常感谢您的宝贵时间!我用python 3!
【问题讨论】:
-
您使用的是 Windows 还是 Unix?路径分隔符可能不同,您可能要使用 os.path.join (
os.path.join("data","csv.1")) -
IndexError: 至少一张纸必须是可见的
标签: python excel python-3.x pandas csv