Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试将值从DAT文件导出到csv_Python_Csv_Export - Fatal编程技术网

Python 尝试将值从DAT文件导出到csv

Python 尝试将值从DAT文件导出到csv,python,csv,export,Python,Csv,Export,我正在尝试导出csv文件中的一些值。我运行以下代码: import glob import csv lines=[] files = glob.glob('*#*') for file in files: with open(file,'r+') as f: first_line = f.readline() lines.append(first_line[28:39]) print(lines) 我找到要导出到csv的就

我正在尝试导出csv文件中的一些值。我运行以下代码:

import glob
import csv

lines=[]

files = glob.glob('*#*')             
for file in files:
    with open(file,'r+') as f:
        first_line = f.readline()
        lines.append(first_line[28:39])

print(lines)
我找到要导出到csv的就绪代码。肯定不是完全正确的。我不需要我认为的循环(对于val…)

我面临的问题是,由于我将值存储在列表中。所以他们在csv中导出有点混乱。有没有办法将它们导出到excel的第二列,并在第一列添加文件名

我的文件有(01160160316等)这样的名称

我知道使用pandas会很有用,因为我正在使用数据文件和Excel。然而,我不熟悉熊猫atm,所以另一种方法也可能有用

我正在添加两个截图,这可能会有所帮助

所以我想在我导出的csv的第二列中导出“1660195”。在第一列中,我需要文件名。比如说

[屏幕截图1输入]

[截图2文件]


您好,我实际上试过熊猫,输出正常

import glob


import pandas as pd

lines=[]

files = glob.glob('*#*')             
for file in files:
    with open(file,'r+') as f:
        first_line = f.readline()
        lines.append(first_line[28:39])



df = pd.DataFrame(lines)
df.to_csv('tst.csv')

您可以直接从datafle在pandas中创建dataframe,并尝试类似的方法

>>> df = pd.DataFrame({'foo':list('ABC')}, index=[0,2,1])
>>> df
  foo
0   A
2   B
1   C
>>> df.loc[df.index[0], 'foo']  # here index[0] is your first row & column is 'foo'
'A'

>>> df.loc[df.index[1], 'foo']
'B'

另一个例子:

                              Region                            Nation        Item Type  Order Date   Order ID   Ship Date  Units Sold  U_Price  Total Cost
0               Australia and Oceania                            Tuvalu        Baby Food   5/28/2010  669165933   6/27/2010        9925   255.28  1582243.50
1   Central America and the Caribbean                           Grenada           Cereal   8/22/2012  963881480   9/15/2012        2804   205.70   328376.44
2                              Europe                            Russia  Office Supplies    5/2/2014  341417157    5/8/2014        1779   651.21   933903.84
3                  Sub-Saharan Africa             Sao Tome and Principe           Fruits   6/20/2014  514321792    7/5/2014        8102     9.33    56065.84
4                  Sub-Saharan Africa                            Rwanda  Office Supplies    2/1/2013  115456712    2/6/2013        5062   651.21  2657347.52
因此,您可以像下面这样编写代码

import pandas as pd
##################### Pandas Display Settings For Terminal #########
pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
##################### END OF THE Display Settings ###################

df_csv = pd.read_csv("Sales-Records.csv")).fillna('')
df_trim = df_csv[['Region', 'Nation', 'Item Type','Order Date', 'Order ID','Ship Date', 'Units Sold', 'U_Price','Total Cost']]
print(df_trim.loc[df_trim.index[0], 'Nation'])
输出

./test.py
Tuvalu

我对你的问题有点困惑,但是你应该使用
csv.reader()
来读取文件的内容,而不仅仅是用它来写输出。事实上,不,我根本不理解这个问题。请澄清您正在阅读的文件的格式in@Panagiotis,您能否显示示例数据并显示所需的输出?我可以用熊猫解决方案检查..大家好,请检查上面我编辑了我的OP@PanagiotisIoannidis,是否要提取任何特定列数据?hey@pygo感谢您的回答和努力。我会检查你的代码并让你知道!
import pandas as pd
##################### Pandas Display Settings For Terminal #########
pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
##################### END OF THE Display Settings ###################

df_csv = pd.read_csv("Sales-Records.csv")).fillna('')
df_trim = df_csv[['Region', 'Nation', 'Item Type','Order Date', 'Order ID','Ship Date', 'Units Sold', 'U_Price','Total Cost']]
print(df_trim.loc[df_trim.index[0], 'Nation'])
./test.py
Tuvalu