Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 从csv文件格式化表_Python_File_Csv - Fatal编程技术网

Python 从csv文件格式化表

Python 从csv文件格式化表,python,file,csv,Python,File,Csv,我正在尝试仅使用CSV模块从CSV文件中的数据生成一个表。有人能告诉我应该怎么做才能在每一行的末尾显示“|”吗? 以下是我目前掌握的情况: def display_playlist( filename ): if filename.endswith('.csv')==False: #check if it ends with CSV extension filename = filename + ('.csv') #adding .csv if given with

我正在尝试仅使用CSV模块从CSV文件中的数据生成一个表。有人能告诉我应该怎么做才能在每一行的末尾显示“|”吗? 以下是我目前掌握的情况:

def display_playlist( filename ):

     if filename.endswith('.csv')==False: #check if it ends with CSV extension
         filename = filename + ('.csv') #adding .csv if given without .csv extension
     max_element_length=0
     #aligning columns to the longest elements
     for row in get_datalist_from_csv( filename ):
         for element in row:
             if len(element)>max_element_length:
                 max_element_length=len(element)
        # print(max_element_length)                
     #return max_element_length

     print('-----------------------------------------------------------------------------')
     for row in get_datalist_from_csv( filename ):
         for element in row:
             print('| ', end='')
             if (len(element)<=4 and element.isdigit==True):
                 print(pad_to_length(element,4), end=' |')  #trying to get '|' at the end[enter image description here][1]
             else:
                 print(pad_to_length(element, max_element_length), end=' ')

         print('\n')
     print('-----------------------------------------------------------------------------')

## Read data from a csv format file
def get_datalist_from_csv( filename ):
    ## Create a 'file object' f, for accessing the file: 
    with open( filename ) as f:  
         reader = csv.reader(f)     # create a 'csv reader' from the file object
         datalist = list( reader )  # create a list from the reader 
    return datalist # we have a list of lists

## For aligning table columns
## It adds spaces to the end of a string to make it up to length n.
def pad_to_length( string, n):
    return string + " "* (n-len(string)) ## s*n gives empty string for n<1
def display_播放列表(文件名):
如果filename.endswith('.csv')==False:#检查它是否以csv扩展名结尾
filename=filename+('.csv')#如果没有.csv扩展名,则添加.csv
最大元素长度=0
#将柱与最长的图元对齐
对于从csv获取数据列表中的行(文件名):
对于行中的元素:
如果长度(元件)>最大元件长度:
最大元素长度=长度(元素)
#打印(最大元素长度)
#返回最大元素长度
打印(“-----------------------------------------------------------------------------------------”)
对于从csv获取数据列表中的行(文件名):
对于行中的元素:
打印(“|”,结束=”)

如果(len(element)不能将
print('\n')
更改为
print('\n')
print
循环的末尾附近吗?这会使“|”显示在字符串的最末端(e.x.| 3:17 |),我希望它在(| 3:17 |)之后立即显示。不过,我刚刚意识到我应该做什么